package Day011_多线程1.demo02_Thread线程类;

/**
 * @author zhangyan
 * @date 2020/4/28 10:21
 */
public class demo03_实现Runnable接口方式创建 {
    public static void main(String[] args) {
        /*
            实现方式创建线程:
                        1.创建一个实现Runnable接口
                        2.实现类重写run()方法,在run方法中重写线程需要执行的任务
                        3.创建对象,并作为参数传入Thread类的构造方法中来创建对象
                        4.对象调用start方法启动线程,执行任务
         */

        //创建MyRnnable对象
        MyRnnable mr = new MyRnnable();

        //MyRnnable对象作为参数传入Thread类的构造方法
        Thread t1 = new Thread(mr,"线程B");
        //调用start方法
        t1.start();//启动并执行程序

        //主线程j循环
        for (int j = 0; j <= 100; j++) {
            System.out.println("j循环的第" + j + "次循环");
        }
        //如果for(j)在触发线程(start)之前,就会执行完j循环,在i循环
    }
}

class MyRnnable implements Runnable {

    @Override
    public void run() {
        //任务
        //public static Thread currentThread() :返回对当前正在执行的线程对象的引用
        //线程对象.getName()
        for (int i = 0; i <= 100; i++) {
            System.out.println(Thread.currentThread().getName() + ": i循环的第" + i + "次循环");
        }
    }
}